﻿namespace StationDataHub.Models.DTO;

/// <summary>
/// 充电设备信息（对应协议5.4 EquipmentInfo）
/// </summary>
public class EquipmentInfo
{
    /// <summary>
    /// 设备编码（同一运营商内唯一，必填，最大23字符）
    /// </summary>
    public string EquipmentID { get; set; } = string.Empty;

    /// <summary>
    /// 设备生产商组织机构代码（非必填，9位字符）
    /// </summary>
    public string? ManufacturerID { get; set; }

    /// <summary>
    /// 设备生产商名称（非必填，最大30字符）
    /// </summary>
    public string? ManufacturerName { get; set; }

    /// <summary>
    /// 设备型号（生产商定义，非必填，最大20字符）
    /// </summary>
    public string? EquipmentModel { get; set; }

    /// <summary>
    /// 设备生产日期（格式yyyy-MM-dd，非必填，10字符）
    /// </summary>
    public string? ProductionDate { get; set; }

    /// <summary>
    /// 设备类型（必填，整型枚举：1=直流设备，2=交流设备，3=交直流一体设备）
    /// </summary>
    public EquipmentTypeEnum EquipmentType { get; set; }

    /// <summary>
    /// 充电设备接口列表（该设备所有充电接口集合，参照5.5 ConnectorInfo）
    /// </summary>
    public List<ConnectorInfo> ConnectorInfos { get; set; } = [];

    /// <summary>
    /// 充电设备经度（GCJ-02坐标系，非必填，保留小数点后6位）
    /// </summary>
    public decimal? EquipmentLng { get; set; }

    /// <summary>
    /// 充电设备纬度（GCJ-02坐标系，非必填，保留小数点后6位）
    /// </summary>
    public decimal? EquipmentLat { get; set; }

    /// <summary>
    /// 充电设备总功率（单位kW，必填，保留小数点后1位）
    /// </summary>
    public decimal Power { get; set; }

    /// <summary>
    /// 充电设备名称（非必填，最大30字符）
    /// </summary>
    public string? EquipmentName { get; set; }

    /// <summary>
    /// 报装户号（必填，最大20字符；站点立户则站内所有设备同一户号，桩立户则为单桩实际户号）
    /// </summary>
    public string ConsNo { get; set; } = string.Empty;
}